package com.itc.bpm.bean;

import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;

@Data
@TableName("bpm_process_instance_ext")
public class BpmProcessInstanceExt extends BaseDO{
    @TableId
    private Long id;
    @ApiModelProperty(value = "发起流程的用户编号")
    private String startUserId;
    @ApiModelProperty(value = "流程实例的名称")
    @TableField(condition = SqlCondition.LIKE)
    private String name;
    @ApiModelProperty(value = "流程实例的编号")
    private String processInstanceId;
    @ApiModelProperty(value = "流程定义的编号")
    private String processDefinitionId;
    @ApiModelProperty(value = "流程分类")
    @TableField(condition = SqlCondition.LIKE_RIGHT)
    private String category;
    @ApiModelProperty(value = "流程实例的状态 -1 未开始 0 进行中，1 已完成，2 已取消")
    private Integer status;
    @ApiModelProperty(value = "流程实例的结果")
    private Integer result;
    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(select = false)
    private Date endTime;
    @ApiModelProperty(value = "表单值")
    private String formVariables;
    @ApiModelProperty(value = "流程版本号")
    private String version;
    @ApiModelProperty(value = "异常事件信息")
    private String eventInfo;
    @ApiModelProperty(value = "异常事件类型")
    private String eventType;
    @ApiModelProperty(value = "关联航班号")
    private String flightNumber;
    @ApiModelProperty(value = "流程key")
    private String bpmKey;
    @ApiModelProperty(value = "业务id")
    private String serviceId;
    @ApiModelProperty(value = "是否常用流程")
    private Integer isPublicProcess;
    @ApiModelProperty(value = "是否重要事件展示")
    private Integer isImportantEvent;
    @ApiModelProperty(value = "流程模型id")
    private Long bpmModelId;
    @ApiModelProperty(value = "流程描述")
    private String description;
}
